namespace S.O.Domain.Dto.Output
{
    /// <summary>
    /// 处方信息输出DTO
    /// 用于返回处方的基本信息
    /// </summary>
    public class PrescriptionDto
    {
        /// <summary>
        /// 处方ID
        /// </summary>
        public string Id { get; set; } = string.Empty;

        /// <summary>
        /// 患者ID
        /// </summary>
        public long PatientId { get; set; }

        /// <summary>
        /// 患者姓名
        /// </summary>
        public string PatientName { get; set; } = string.Empty;

        /// <summary>
        /// 处方类型（中药、西药）
        /// </summary>
        public string PrescriptionType { get; set; } = string.Empty;

        /// <summary>
        /// 诊断
        /// </summary>
        public string Diagnosis { get; set; } = string.Empty;

        /// <summary>
        /// 处方备注
        /// </summary>
        public string Remark { get; set; } = string.Empty;

        /// <summary>
        /// 医生姓名
        /// </summary>
        public string Doctor { get; set; } = string.Empty;

        /// <summary>
        /// 处方状态
        /// </summary>
        public string Status { get; set; } = string.Empty;

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 药品列表
        /// </summary>
        public List<PrescriptionMedicineDto> Medicines { get; set; } = new List<PrescriptionMedicineDto>();
    }

    /// <summary>
    /// 处方药品明细输出DTO
    /// 用于返回处方中药品的详细信息
    /// </summary>
    public class PrescriptionMedicineDto
    {
        /// <summary>
        /// 药品明细ID
        /// </summary>
        public long Id { get; set; }

        /// <summary>
        /// 处方ID
        /// </summary>
        public string PrescriptionId { get; set; } = string.Empty;

        /// <summary>
        /// 药品名称
        /// </summary>
        public string MedicineName { get; set; } = string.Empty;

        /// <summary>
        /// 药品规格
        /// </summary>
        public string Specification { get; set; } = string.Empty;

        /// <summary>
        /// 剂量
        /// </summary>
        public string Dosage { get; set; } = string.Empty;

        /// <summary>
        /// 频次
        /// </summary>
        public string Frequency { get; set; } = string.Empty;

        /// <summary>
        /// 疗程
        /// </summary>
        public string Duration { get; set; } = string.Empty;

        /// <summary>
        /// 用法
        /// </summary>
        public string Usage { get; set; } = string.Empty;

        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; } = string.Empty;

        /// <summary>
        /// 排序号
        /// </summary>
        public int SortOrder { get; set; }
    }
}